﻿Lite Pen Sampler
Author Unknown
For Bally BASIC
---------------

   1 .
   2 NT=0;CLEAR ;CY=20;PRINT "ASCII INPUT ";CY=-20;PRINT "GRAPHICS DEMO
   3 :INPUT ;A=&(14)
   4 IF &(14)=AGOTO 4
   5 IF &(14)<100GOTO 3000
   6 GOTO 1000
   9 &(15)=102
  10 CLEAR 
  20 A=19584;B=A;C=590
  30 D=-9741;GOSUB C
  40 D=19518;GOSUB C
  50 D=18413;GOSUB C
  60 D=-8130;GOSUB C
  70 D=3539;GOSUB C
  80 D=-1063;GOSUB C
  90 D=201;GOSUB C
 100 A=19680
 110 D=19683;GOSUB C
 120 A=19683
 130 D=-20275;GOSUB C
 140 D=-3296;GOSUB C
 150 D=29677;GOSUB C
 160 D=19568;GOSUB C
 170 D=28721;GOSUB C
 180 D=-2740;GOSUB C
 190 D=-10811;GOSUB C
 200 D=-8731;GOSUB C
 210 D=-539;GOSUB C
 220 D=-9243;GOSUB C
 230 D=12828;GOSUB C
 240 D=19770;GOSUB C
 250 D=255;GOSUB C
 260 D=6151;GOSUB C
 270 D=16205;GOSUB C
 280 D=19768;GOSUB C
 290 D=19744;GOSUB C
 300 D=6151;GOSUB C
 310 D=589;GOSUB C
 320 D=-7683;GOSUB C
 330 D=-7715;GOSUB C
 340 D=-11807;GOSUB C
 350 D=-3647;GOSUB C
 360 D=31725;GOSUB C
 370 D=19568;GOSUB C
 380 D=-13829;GOSUB C
 390 A=19736
 400 D=14367;GOSUB C
 410 D=9293;GOSUB C
 420 D=2125;GOSUB C
 430 A=19744
 440 D=-26624;GOSUB C
 450 D=16384;GOSUB C
 460 D=0;GOSUB C
 470 D=2050;GOSUB C
 480 FOR Q=1TO 8;D=@(Q);GOSUB C;NEXT Q
 570 D=-32735;GOSUB C
 572 D=1280;GOSUB C
 574 D=0;GOSUB C
 576 D=768;GOSUB C
 577 D=5;GOSUB C
 578 D=0;GOSUB C
 579 D=3;GOSUB C
 580 CALL(B);STOP
 590 %(A)=D;A=A+2;RETURN 
1000 CLEAR ;:INPUT 
1010 FOR A=-40TO 40STEP 10;BOX A,0,1,80,1;BOX 0,A,80,1,1;NEXT A
1020 FOR A=-35TO 35STEP 10
1030 BOX A-10,-43,2,2,2;BOX A,-43,2,2,1
1040 B=&(14)
1050 IF &(14)=BGOTO 1050
1060 IF &(14)<35BOX A,35,9,9,1
1070 IF &(14)>35IF &(14)<55BOX A,25,9,9,1
1080 IF &(14)>55IF &(14)<75BOX A,15,9,9,1
1090 IF &(14)>75IF &(14)<95BOX A,5,9,9,1
1100 IF &(14)>95IF &(14)<115BOX A,-5,9,9,1
1110 IF &(14)>115IF &(14)<135BOX A,-15,9,9,1
1120 IF &(14)>135IF &(14)<155BOX A,-25,9,9,1
1130 IF &(14)>155IF &(14)<175BOX A,-35,9,9,1
1140 IF &(14)>175NEXT A;:RETURN ;GOTO 2000
1150 GOTO 1040
2000 B=0;FOR A=35TO -35STEP -10;C=-35;D=0;B=B+1
2010 D=(PX(C,A)×128)+(PX(C+10,A)×32)+(PX(C+20,A)×8)+(PX(C+30,A)×2)+(PX(C+40,A)×(-32767))+PX(C+50,A)×8192
2020 D=D+(PX(C+60,A)×2048)+(PX(C+70,A)×512)
2030 @(B)=D;NEXT A;GOTO 9
3000 CLEAR ;A=-80
3002 C=&(14);IF &(14)=CGOTO 3002
3005 IF &(14)>190A=A+6;CX=A;CY=40;TV=B
3010 CX=-80;CY=0;B=&(14)÷7+65;IF B>90B=32
3020 TV=B;GOTO 3002
:RETURN 